The present invention relates to the processing of data and more particularly to the concealment of data losses during an exchange of data between a sender apparatus and a receiver apparatus connected together via a communication network.
It has an application in the field of video transmission over a wireless communication network.
It concerns, without limitation thereto, domestic applications from a sender apparatus to a receiver apparatus.
In practice, the sender and receiver apparatuses are potentially mobile embedded systems. The sender apparatus has storage capacities which enable it to store videos after their acquisition and their compression. Once stored, a user may request to view the videos on a viewing receiver apparatus. For this, a wireless connection is created between the sender apparatus and the receiver apparatus. A first exchange of items of information between the sender apparatus and the receiver apparatus enables the receiver apparatus to know the nature of said receiver apparatus, its capacities and the wishes of the user. These first items of information may describe the receiver apparatus in terms of calculation, display and decoding capacities. Second items of information are then exchanged during the transmission. In contrast to the first series of items of information, these second items of information will be regularly updated. They describe in particular the evolution of the state of the network from the point of view of the receiver apparatus. The analysis of these second items of information may incite the receiver apparatus to adapt the video.
In practice, the adaptation of the video is efficacious only in case of a stable state of the communication network between the sender apparatus and the receiver apparatus. This adaptation does not enable periods of transition between two states to be dealt with. When for example the capacities of the network decrease, losses occur for as long as the sender apparatus has not been alerted of the change.
Conventionally, the OSI (“Open Systems Interconnection”) model defined by the ISO (“International Standards Organization”) presents communication systems in the form of the following seven layers:                the physical layer which takes care of the bit transmission over a communication medium;        the data link layer which takes care of a communication medium in order to make it appear to the network layer as being exempt from transmission errors;        the network layer which takes care of the routing of the data between sub-networks;        the transport layer which takes care of the data of the session layer, cuts it up if necessary into smaller units and ensures that all the pieces arrive properly at the receiver;        the session layer the object of which is to provide advanced services to the transport layer (such as the synchronization of the communicating systems, the management of bi- or mono-directional sessions);        the presentation layer which focuses on the syntax and semantics of the data transmitted. It ensures that the data transmitted is understood on each side of the communicating system; and        the application layer which implements all the imaginable applications of a communicating system (transfer, viewing of files, etc.).        
This representation is purely theoretical since, in reality, it is possible for a communicating system not to implement one of the layers.
Generally, in a client/server application transmitting video, it can be considered that the client device is constituted by three main elements implementing the operations of the transport layer and of the application layer. These three elements are a first unit for receiving packets belonging to the transport layer, and a second unit for decoding and a third unit for display, which belong to the application layer. The units for reception and decoding share a storage unit for the content of the packets. The decoding and display units share a unit for storage of the decoded images.
The content of the packet storage unit is in general ahead with respect to that of the decoded image storage unit. In other words, the transport layer stores several images not yet having been decoded by the decoder.
In general, the transport and application layers exchange little or no information. At best, the transport layer indicates that a loss has occurred and the position of that loss. This avoids the decoder desynchronizing when it gets to the position of that loss.
In the document U.S. Pat. No. 5,247,363 a method is provided in which, when an error is detected in the image in course of decoding, the temporal and spatial activities of the sequence are calculated, using the only images available, that is to say the current image and the reference image. The two activities are then compared in order to select a method of loss concealment. It is thus impossible to increase the precision of the calculations of the spatial and temporal activities by increasing the number of images analyzed.
A similar method focusing on bi-predicted B images is proposed in document U.S. Pat. No. 5,727,088. Here too, the decoder only commences a method of concealing losses at the time of the decoding of the current image. The decoder then uses the only available images to detect changes of scene and to determine how the loss of a macroblock should be concealed.
A simpler method of selecting a method of loss concealment is proposed in document U.S. Pat. No. 6,449,311. In this method, the decoder keeps information describing the continuity of motion. In case of losses, the motion continuity is tested here in order to determine whether the concealment should use spatial or temporal interpolation. Here, the motion information is calculated and kept continuously. No information from the transport layer is used.
A similar concept testing motion continuity for determining whether a motion vector should be used is described in the document U.S. Pat. No. 6,665,345.
The Applicant set itself the problem of providing a method of selecting the method the best adapted to the loss of information at a video receiver apparatus.